← Index
NYTProf Performance Profile   
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:04 2022

Filename(eval 421)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]
StatementsExecuted 68 statements in 761µs
Eval Invoked At/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm line 3
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
222102µs70.6sJSON::Schema::Modern::Document::OpenAPI::::newJSON::Schema::Modern::Document::OpenAPI::new
1118µs23µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@14.303JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303
1115µs16µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@77JSON::Schema::Modern::Document::OpenAPI::BEGIN@77
1115µs12µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@90JSON::Schema::Modern::Document::OpenAPI::BEGIN@90
1114µs10µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@111JSON::Schema::Modern::Document::OpenAPI::BEGIN@111
1114µs12µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@143JSON::Schema::Modern::Document::OpenAPI::BEGIN@143
1114µs4µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@19.304JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.304
1114µs7µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@87JSON::Schema::Modern::Document::OpenAPI::BEGIN@87
1113µs9µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@138JSON::Schema::Modern::Document::OpenAPI::BEGIN@138
1112µs9µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@82JSON::Schema::Modern::Document::OpenAPI::BEGIN@82
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
222µs my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
310s my $isa_check_for_json_5fschema_5fdialect = ${$_[1]->{"\$isa_check_for_json_5fschema_5fdialect"}};
410s my $isa_check_for_errors = ${$_[1]->{"\$isa_check_for_errors"}};
510s my $coerce_for_metaschema_5furi = ${$_[1]->{"\$coerce_for_metaschema_5furi"}};
610s my $isa_check_for_operationIds = ${$_[1]->{"\$isa_check_for_operationIds"}};
711µs my $isa_check_for_metaschema_5furi = ${$_[1]->{"\$isa_check_for_metaschema_5furi"}};
810s my $coerce_for_canonical_5furi = ${$_[1]->{"\$coerce_for_canonical_5furi"}};
910s my $coerce_for_json_5fschema_5fdialect = ${$_[1]->{"\$coerce_for_json_5fschema_5fdialect"}};
1011µs my $isa_check_for_canonical_5furi = ${$_[1]->{"\$isa_check_for_canonical_5furi"}};
1110s my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
1210s my $isa_check_for_evaluator = ${$_[1]->{"\$isa_check_for_evaluator"}};
13 package JSON::Schema::Modern::Document::OpenAPI;
14234µs238µs
# spent 23µs (8+15) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 which was called: # once (8µs+15µs) by Sub::Quote::_clean_eval at line 14
no warnings 'closure';
# spent 23µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.303 # spent 15µs making 1 call to warnings::unimport
15
# spent 70.6s (102µs+70.6) within JSON::Schema::Modern::Document::OpenAPI::new which was called 2 times, avg 35.3s/call: # once (94µs+70.6s) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 177 of Sub/Defer.pm # once (8µs+3.29ms) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 72 of OpenAPI/Modern.pm
sub new {
16 ($_QUOTED,$_UNQUOTED) if 0;
17# BEGIN quote_sub PRELUDE
18package JSON::Schema::Modern::Document::OpenAPI;
19
# spent 4µs within JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.304 which was called: # once (4µs+0s) by Sub::Quote::_clean_eval at line 24
BEGIN {
2011µs $^H = 2018;
2110s ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUUUUU";
2213µs %^H = (
23 );
241165µs14µs}
25# END quote_sub PRELUDE
2611µs my $invoker = CORE::shift();
2710s my $class = CORE::ref($invoker) ? CORE::ref($invoker) : $invoker;
2810s if ($class ne "JSON::Schema::Modern::Document::OpenAPI") {
29 if ($Moo::MAKERS{$class}) {
30 if ($Moo::MAKERS{$class}{constructor}) {
31 package JSON::Schema::Modern::Document::OpenAPI;
32 return $invoker->SUPER::new(@_);
33 }
34 Moo->_constructor_maker_for($class);
35 return $invoker->new(@_);
36 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
37 return $meta->new_object(
38 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
39 : $class->Moo::Object::BUILDARGS(@_)
40 );
41 }
42 }
43 my $args = scalar @_ == 1
44 ? CORE::ref $_[0] eq 'HASH'
4512µs ? { %{ $_[0] } }
46 : Carp::croak("Single parameters to new() must be a HASH ref"
47 . " data => ". $_[0])
48 : @_ % 2
49 ? Carp::croak("The new() method for $class expects a hash reference or a"
50 . " key/value list. You passed an odd number of arguments")
51 : {@_}
52 ;
5311µs if (my @missing = grep !exists $args->{$_}, "evaluator", "schema") {
54 Carp::croak("Missing required arguments: ".CORE::join(', ', sort @missing));
55 }
5617µs210µs my $new = $invoker->JSON::Schema::Modern::Document::SUPER::new($class->FOREIGNBUILDARGS(@_));
# spent 9µs making 1 call to Mojo::JSON::Pointer::new # spent 1µs making 1 call to JSON::Schema::Modern::Document::FOREIGNBUILDARGS
5711µs(exists $args->{"canonical_uri"} and ($new->{"canonical_uri"} = scalar do { my $value = do {
5811µs local $Method::Generate::Accessor::CurrentAttribute = {
59 init_arg => "canonical_uri",
60 name => "canonical_uri",
61 step => "coercion",
62 };
6310s (my $_return),
64 (my $_error), (my $_old_error = $@);
6511µs (eval {
66 ($@ = $_old_error),
67 ($_return =
6811µs1243µs$coerce_for_canonical_5furi->($args->{"canonical_uri"})),
69 1
70 } or
71 $_error = CORE::ref $@ ? $@ : "coercion for \"canonical_uri\" failed: ".$@);
7210s ($@ = $_old_error),
73 (defined $_error and CORE::die $_error);
7411µs $_return;
75}
76;
77768µs531µs
# spent 16µs (5+11) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 which was called: # once (5µs+11µs) by Sub::Quote::_clean_eval at line 77
(do { no warnings "void"; package Type::Tiny; ((((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) && (do { local $_ = $value; not defined $_->fragment }))) or Type::Tiny::_failed_check($isa_check_for_canonical_5furi, "__ANON__", $value, "attribute_name","canonical_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"canonical_uri\"}"); $value }),
# spent 16µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 # spent 11µs making 1 call to warnings::unimport # spent 2µs making 1 call to Mojo::URL::fragment # spent 1µs making 1 call to Scalar::Util::blessed # spent 1µs making 1 call to UNIVERSAL::isa
78 $value
79}
80)),
81(exists $args->{"errors"} and ($new->{"errors"} = scalar do { my $value = $args->{"errors"};
82263µs216µs
# spent 9µs (2+7) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 which was called: # once (2µs+7µs) by Sub::Quote::_clean_eval at line 82
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_arrayref($value)) and do { my $ok = 1; for my $i (@{$value}) { ($ok = 0, last) unless (Scalar::Util::blessed($i) and $i->isa(q[JSON::Schema::Modern::Error])) }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_errors, "ArrayRef[InstanceOf[\"JSON::Schema::Modern::Error\"]]", $value, "attribute_name","errors","attribute_step","isa check","mgaca","0","varname","\$args->{\"errors\"}"); $value }),
# spent 9µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 # spent 7µs making 1 call to warnings::unimport
83 $value
84}
85)),
8622µs11µs(exists $args->{"evaluator"} and (do { Scalar::Util::weaken($new->{"evaluator"} = scalar do { my $value = $args->{"evaluator"};
# spent 1µs making 1 call to Scalar::Util::weaken
87545µs410µs
# spent 7µs (4+3) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 which was called: # once (4µs+3µs) by Sub::Quote::_clean_eval at line 87
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[JSON::Schema::Modern]))) or Type::Tiny::_failed_check($isa_check_for_evaluator, "InstanceOf[\"JSON::Schema::Modern\"]", $value, "attribute_name","evaluator","attribute_step","isa check","mgaca","0","varname","\$args->{\"evaluator\"}"); $value }),
# spent 7µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 # spent 3µs making 1 call to warnings::unimport # spent 0s making 1 call to Scalar::Util::blessed # spent 0s making 1 call to UNIVERSAL::isa
88 $value
89}
90354µs219µs
# spent 12µs (5+7) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 which was called: # once (5µs+7µs) by Sub::Quote::_clean_eval at line 90
); no warnings 'void'; $new->{"evaluator"} })),
# spent 12µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 # spent 7µs making 1 call to warnings::unimport
91(exists $args->{"json_schema_dialect"} and ($new->{"json_schema_dialect"} = scalar do { my $value = do {
92 local $Method::Generate::Accessor::CurrentAttribute = {
93 init_arg => "json_schema_dialect",
94 name => "json_schema_dialect",
95 step => "coercion",
96 };
97 (my $_return),
98 (my $_error), (my $_old_error = $@);
99 (eval {
100 ($@ = $_old_error),
101 ($_return =
102$coerce_for_json_5fschema_5fdialect->($args->{"json_schema_dialect"})),
103 1
104 } or
105 $_error = CORE::ref $@ ? $@ : "coercion for \"json_schema_dialect\" failed: ".$@);
106 ($@ = $_old_error),
107 (defined $_error and CORE::die $_error);
108 $_return;
109}
110;
111267µs216µs
# spent 10µs (4+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 which was called: # once (4µs+6µs) by Sub::Quote::_clean_eval at line 111
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_json_5fschema_5fdialect, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","json_schema_dialect","attribute_step","isa check","mgaca","0","varname","\$args->{\"json_schema_dialect\"}"); $value }),
# spent 10µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 # spent 6µs making 1 call to warnings::unimport
112 $value
113}
114)),
11510s($new->{"metaschema_uri"} = scalar do { my $value = do {
11611µs local $Method::Generate::Accessor::CurrentAttribute = {
117 init_arg => "metaschema_uri",
118 name => "metaschema_uri",
119 step => "coercion",
120 };
12110s (my $_return),
122 (my $_error), (my $_old_error = $@);
12310s (eval {
124 ($@ = $_old_error),
125 ($_return =
126$coerce_for_metaschema_5furi->((
127 exists $args->{"metaschema_uri"}
12812µs161µs ? $args->{"metaschema_uri"}
129 : "https://spec.openapis.org/oas/3.1/schema-base/latest"))),
130 1
131 } or
132 $_error = CORE::ref $@ ? $@ : "coercion for \"metaschema_uri\" failed: ".$@);
13310s ($@ = $_old_error),
134 (defined $_error and CORE::die $_error);
13511µs $_return;
136}
137;
138553µs415µs
# spent 9µs (3+6) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 which was called: # once (3µs+6µs) by Sub::Quote::_clean_eval at line 138
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_metaschema_5furi, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","metaschema_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"metaschema_uri\"}"); $value }),
# spent 9µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 # spent 6µs making 1 call to warnings::unimport # spent 0s making 1 call to Scalar::Util::blessed # spent 0s making 1 call to UNIVERSAL::isa
139 $value
140}
141),
142(exists $args->{"operationIds"} and ($new->{"operationIds"} = scalar do { my $value = $args->{"operationIds"};
1432150µs220µs
# spent 12µs (4+8) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 which was called: # once (4µs+8µs) by Sub::Quote::_clean_eval at line 143
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($value)) and do { my $ok = 1; for my $i (values %{$value}) { ($ok = 0, last) unless do { package Type::Tiny; defined($i) and do { ref(\$i) eq 'SCALAR' or ref(\(my $val = $i)) eq 'SCALAR' } } }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_operationIds, "HashRef[Str]", $value, "attribute_name","operationIds","attribute_step","isa check","mgaca","0","varname","\$args->{\"operationIds\"}"); $value }),
# spent 12µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 # spent 8µs making 1 call to warnings::unimport
144 $value
145}
146)),
147(exists $args->{"schema"} and ($new->{"schema"} = $args->{"schema"})),
148 (($args)[0]->{__no_BUILD__} or (
149126µs170.6s $new->JSON::Schema::Modern::Document::BUILD($args),
# spent 70.6s making 1 call to JSON::Schema::Modern::Document::BUILD
150 )),
151 return $new;
152 }
15311µs $$_UNQUOTED = \&new;
154}
15515µs1;
156
157;